package com.ibeeking.found.msg.rest.service;

import com.ibeeking.found.common.entity.open.OpenAuthDTO;
import com.ibeeking.found.common.entity.open.OpenConfigDTO;
import com.ibeeking.nematos.msg.email.core.service.EmailService;

import com.ibeeking.nematos.msg.sms.spring.service.SmsService;
import me.chanjar.weixin.cp.api.WxCpService;
import me.chanjar.weixin.open.api.WxOpenMaService;
import me.chanjar.weixin.open.api.WxOpenMpService;

public interface IOpenService {
    /*
    * 读取微信开放平台配置参数
    */
    OpenConfigDTO queryOpenConfigOfWxOpen();
    /*
     * 读取企业微信开放平台配置参数
     */
    OpenConfigDTO queryOpenConfigOfWxCpSb();
    /*
     * 读取微信开放平台权限参数
     */
    OpenAuthDTO queryWxOpenAuthByTenantId(Long tenantId,Integer configType, Integer configSubType, Integer appType);
    /*
     * 读取微信开放平台权限参数
     */
    OpenAuthDTO queryWxOpenAuthByTenantIdAndAppId(Long tenantId, String appId);
    /*
     * 创建微信公众号服务
     */
    WxOpenMpService getWxOpenMpService(Long tenantId);
    /*
     * 创建微信小程序服务
     */
    WxOpenMaService getWxOpenMaService(Long tenantId);
    /*
     * 创建企业微信服务
     */
    WxCpService getWxCpService(Long tenantId);
    /*
     * 创建短信服务
     */
    SmsService getSmsService(Long tenantId);
    /*
     * 创建邮件服务
     */
    EmailService getEmailService(Long tenantId);

}
